package mumu.android.lib.localstorage;
import mumu.android.lib.tool.Tools;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * 实际开发中，为了更好的开发和维护数据库，通常会对数据库读写进行模块化封装。sdk中默认提供了一个SQLiteOpenHelper，它完成了对SQLiteDatabase的二次封装，包括经常使用的数据库委办局的创建、版本升级、资源释放等业务封装。我们可以继承它来实现我们个性化业务要求
 * 
 */
public class DBHelper extends SQLiteOpenHelper {

	private static final int VERSION = 4;
	private static final String DBNAME ="mumuss.db";

	private static DBHelper instance;

	
	private DBHelper(Context context) {
		this(context, DBNAME, null, VERSION);
	}

	/**
	 * 使用单例模式
	 * @param context
	 * @return
	 */
	public static DBHelper getHelper(Context context) {
		if (instance == null)
			instance = new DBHelper(context);
		return instance;
	}

	public DBHelper(Context context, String name, CursorFactory factory, int version) {
		super(context, name, factory, version);
	}
	
	/**
	 * 第一次创建数据库时，会调用这个方法
	 */
	@Override
	public void onCreate(SQLiteDatabase db) {
		 db.execSQL("DROP TABLE IF EXISTS news"); 
		/*创建表*/
		db.execSQL(NewsDAO.CREATE_SQL);
	}

	/**
	 * 版本升级时，会调用这个方法
	 */
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		
	}
	
	
}
